package com.autumn.platform.dao.schema.mapper.select;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.cursor.Cursor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.autumn.platform.dao.annotation.SqlRef;
import com.autumn.platform.dao.schema.mapper.ParamDefine;

@Mapper
public interface SelectDao {

    @SqlRef("select")
    public ParamDefine selectOne(@Param("paramCode") String paramCode);

    @SqlRef("select")
    public List<ParamDefine> selectList();

    @SqlRef("select")
    public Page<ParamDefine> selectList(@Param("paramCode") String paramCode, Pageable pageable);

    @SqlRef("select")
    public Cursor<ParamDefine> selectCursor();

    public List<ParamDefine> testSqlConfigFunction(@Param("paramName") String dictName);
}
